A memory system can be a storage system, such as a solid-state drive (SSD), and can include one or more memory components that store data. For example, a memory system can include memory devices such as non-volatile memory devices and volatile memory devices. In general, a host system can utilize a memory system to store data at the memory devices of the memory system and to retrieve data stored at the memory system.
A memory system can store data with redundant information for error detection and/or error correction. Error detection can be implemented via techniques such as parity bits, checksums, cyclic redundancy checks (CRCs), cryptographic hashes, error-correcting codes, etc. Error detection techniques allow the detection of the presence of errors in data retrieved from the memory system. Error correction codes can be used to not only detect the presence of errors but also the recovery of the original data, or the most likely original data, when the extend of the errors is within a limit. In response to an error, the memory system may read the data again from the storage media to retrieve data that is error free and/or data that can be combined with an error correction code to reconstruct the original data.